package com.mycompany.dewcineplanet.repository;

import java.util.HashMap;
import java.util.Map;

import com.mycompany.dewcineplanet.model.Estado;
import com.mycompany.dewcineplanet.model.Funcion;
import com.mycompany.dewcineplanet.model.Perfil;


import common.datetime.SimpleDate;

public class PerfilRepository {
	private Map<String, Perfil> perfiles = new HashMap<String, Perfil>();
	Perfil perfil= new Perfil();
	public PerfilRepository(){
		EstadoRepository estados= new EstadoRepository();
		Estado estado = estados.findByEstado("E00001");
		Estado estado2 = estados.findByEstado("E00002");
		Estado estado3 = estados.findByEstado("E00003");
		FuncionRepository funciones=new FuncionRepository();
		Funcion funcion = funciones.findByFuncion("F00001");
		Funcion funcion2 = funciones.findByFuncion("F00002");
		Funcion funcion3 = funciones.findByFuncion("F00003");
		perfiles.put("P00001", perfil.addPerfil("P00001", estado, SimpleDate.today()));
		perfiles.put("P00002", perfil.addPerfil("P00002", estado, SimpleDate.today()));
		perfiles.put("P00003", perfil.addPerfil("P00003", estado, SimpleDate.today()));
		perfiles.put("P00004", perfil.addPerfil("P00004", estado, SimpleDate.today()));
/*		perfil.addPerfil("P00002", estado, SimpleDate.today(), funcion2);
		perfil.addPerfil("P00003", estado2, SimpleDate.today(), funcion3);
		perfil.addPerfil("P00004", estado3, SimpleDate.today(), funcion);*/
	}
	public Map<String, Perfil> obtenerTodasLosPerfiles() {
		return (perfiles);
	}
	public Perfil findByCodigo(String codigo) {
		Perfil perfil = (Perfil) perfiles.get(codigo);
		if (perfil == null) {
			return null;
		} else {
			return perfil;			
		}
	}
	 public Map<String, Perfil> addPerfiles(String nombrePerfil,Estado estado,SimpleDate date,Funcion funcion){
			if(nombrePerfil.length()>5 && nombrePerfil.length()<30){
				PerfilRepository perfilRepository= new PerfilRepository();				
				if(perfilRepository.findByCodigo(nombrePerfil)== null){ 
					perfiles.put(nombrePerfil, perfil.addPerfil(nombrePerfil, estado, date));
					return(perfiles);
				} else {
					return null;
				}
			} else {
				return null;
			}
		}	
	/*public Perfil insertPerfiles(String codigo,Estado estado,Funcion funcion){

		if(perfil.fin){
			
		}
		perfiles.put(codigo, perfil.addPerfil(codigo, estado, SimpleDate.today(), funcion));
		return true;
	}
	 public boolean addPerfiles(String nombrePerfil,Estado estado,SimpleDate date,Funcion funcion){
		 return(perfil.addPerfil(nombrePerfil, estado, date, funcion));
	 }	*/

}
